<title>支付</title>
<meta charset="utf-8" />
<?php
/* *
 * 功能：支付宝页面跳转同步通知页面
 * 版本：2.0
 * 修改日期：2017-05-01
 * 说明：
 * 以下代码只是为了方便商户测试而提供的样例代码，商户可以根据自己网站的需要，按照技术文档编写,并非一定要使用该代码。

 *************************页面功能说明*************************
 * 该页面可在本机电脑测试
 * 可放入HTML等美化页面的代码、商户业务逻辑程序代码
 */
require_once("config.php");
require_once 'pagepay/service/AlipayTradeService.php';


$arr=$_GET;
$alipaySevice = new AlipayTradeService($config); 
$result = $alipaySevice->check($arr);

/* 实际验证过程建议商户添加以下校验。
1、商户需要验证该通知数据中的out_trade_no是否为商户系统中创建的订单号，
2、判断total_amount是否确实为该订单的实际金额（即商户订单创建时的金额），
3、校验通知中的seller_id（或者seller_email) 是否为out_trade_no这笔单据的对应的操作方（有的时候，一个商户可能有多个seller_id/seller_email）
4、验证app_id是否为该商户本身。
*/
if($result) {//验证成功
	/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
	//请在这里加上商户的业务逻辑程序代码
	
	//——请根据您的业务逻辑来编写程序（以下代码仅作参考）——
    //获取支付宝的通知返回参数，可参考技术文档中页面跳转同步通知参数列表

	//商户订单号
	$out_trade_no = htmlspecialchars($_GET['out_trade_no']);
	//支付宝交易号
	// $trade_no = htmlspecialchars($_GET['trade_no']);
	// echo "验证成功<br />支付宝交易号：".$trade_no;
 
	
	//#开始写代码
	
	// 1.导入公共库文件
	include '../../util/function.php';
	include '../../util/db.php';

	// 2.操作数据库

		// pay_status支付状态；0，未付款；1，付款中；2，已付款
		// pay_time支付时间
		$pdoStatement = $pdo->query("select * from ecs_order_info where order_sn = {$out_trade_no}");
		$orderInfo = $pdoStatement->fetch(PDO::FETCH_ASSOC);

		// 判断过滤（1是否存在，2是否已经修改，防止二次刷新）
		if (!$orderInfo) {
			header("location: http://localhost/sixbuyshop/src/html/order.html");
			die;
		}
		if ($orderInfo['pay_status'] == 2) {
			header("location: http://localhost/sixbuyshop/src/html/order.html");
			die;
		}

		// 修改状态
		$time = time(); //返回1970年至今的秒数（注：js是毫秒）
		$rs = $pdo->exec("update ecs_order_info set pay_status=2,pay_time={$time}  where order_sn = {$out_trade_no}");

	// 3. 判断是否支付成功，跳转
	if ($rs) {
		header("location: http://localhost/sixbuyshop/src/html/order.html");
	} else {
		header("location: http://localhost/sixbuyshop/src/html/order.html");
	}
	die;
}
else {
    //验证失败
    echo "验证失败";
}
